/* 全局公用样式 */
* {
  padding: 0;
  margin: 0;
}

body {
  font-family: 'Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Oxygen,Open Sans,sans-serif';
  line-height: normal;
}

ul,
ol,
dl {
  margin-bottom: 0;
  list-style: none;
}

.width-auto {
  width: auto !important;
}

.height-full {
  height: 100%;
}

.d-none {
  display: none !important;
}

.fl {
  float: left !important;
}

.fr {
  float: right !important;
}

.d-block {
  display: block;
}

.d-inline-block {
  display: inline-block;
}

.d-flex {
  display: flex;
}

.d-inline-flex {
  display: inline-flex;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-ju-c {
  justify-content: center;
}

.flex-ju-sb {
  justify-content: space-between;
}

.flex-ju-sa {
  justify-content: space-around;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-auto {
  flex: 1;
}

.flex-a-c {
  align-items: center;
}

.flex-a-e {
  align-items: end;
}

.flex-none {
  flex: none;
}

.ml-auto {
  margin-left: auto;
}

.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.du-ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
}

.three-ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
}

.vertical-middle {
  vertical-align: middle;
}

.bold {
  font-weight: bold;
}

.fw-normal {
  font-weight: normal;
}

.relative {
  position: relative;
}

.underline {
  text-decoration: underline;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-indent2 {
  text-indent: 2em;
}

.f12 {
  font-size: 12px !important;
}

.f13 {
  font-size: 13px !important;
}

.f14 {
  font-size: 14px !important;
}

.f16 {
  font-size: 16px !important;
}

.f18 {
  font-size: 18px !important;
}

.f20 {
  font-size: 20px !important;
}

.f22 {
  font-size: 22px !important;
}

.f24 {
  font-size: 24px !important;
}

.f30 {
  font-size: 30px !important;
}

.mt5 {
  margin-top: 5px;
}

.mt8 {
  margin-top: 8px;
}

.mt10 {
  margin-top: 10px;
}

.mt12 {
  margin-top: 12px;
}

.mt14 {
  margin-top: 14px;
}

.mt15 {
  margin-top: 15px;
}

.mt16 {
  margin-top: 16px;
}

.mt18 {
  margin-top: 16px;
}

.mt20 {
  margin-top: 20px;
}

.mt22 {
  margin-top: 22px;
}

.mt24 {
  margin-top: 24px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt80 {
  margin-top: 80px;
}

.mt50 {
  margin-top: 50px;
}

.mr5 {
  margin-right: 5px;
}

.mr10 {
  margin-right: 10px;
}

.mr12 {
  margin-right: 12px;
}

.mr15 {
  margin-right: 15px;
}

.mr16 {
  margin-right: 16px;
}

.mr20 {
  margin-right: 20px;
}

.mr24 {
  margin-right: 24px;
}

.mr30 {
  margin-right: 30px;
}

.mr32 {
  margin-right: 32px;
}

.mr50 {
  margin-right: 50px;
}

.ml-auto {
  margin-left: auto;
}

.ml0 {
  margin-left: 0px !important;
}

.ml3 {
  margin-left: 3px;
}

.ml4 {
  margin-left: 4px;
}

.ml5 {
  margin-left: 5px;
}

.ml6 {
  margin-left: 6px;
}

.ml10 {
  margin-left: 10px;
}

.ml12 {
  margin-left: 12px;
}

.ml14 {
  margin-left: 14px;
}

.ml15 {
  margin-left: 15px;
}

.ml20 {
  margin-left: 20px;
}

.ml26 {
  margin-left: 26px;
}

.ml30 {
  margin-left: 30px;
}

.ml40 {
  margin-left: 40px;
}

.ml50 {
  margin-left: 50px;
}

.ml60 {
  margin-left: 60px;
}

.mb4 {
  margin-bottom: 4px;
}

.mb8 {
  margin-bottom: 8px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb12 {
  margin-bottom: 12px;
}

.mb16 {
  margin-bottom: 16px;
}

.mb18 {
  margin-bottom: 16px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb24 {
  margin-bottom: 24px;
}

.pt5 {
  padding-top: 5px;
}

.pt8 {
  padding-top: 8px;
}

.pt14 {
  padding-top: 14px;
}

.pt18 {
  padding-top: 20px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pd15 {
  padding: 15px;
}

.pd20 {
  padding: 20px;
}

.pr20 {
  padding-right: 20px;
}

.pl10 {
  padding-left: 10px;
}

.pl12 {
  padding-left: 12px;
}

.pl14 {
  padding-left: 14px;
}

.pl70 {
  padding-left: 70px;
}

.pr10 {
  padding-right: 10px;
}

.pad10 {
  padding: 0 10px;
}

.pl20 {
  padding-left: 20px;
}

.pad20 {
  padding: 0 20px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb14 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb50 {
  padding-bottom: 40px;
}

.ptb20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.plr30 {
  padding-left: 30px;
  padding-right: 30px;
}

.pointer {
  cursor: pointer;
}

.pointer-none {
  pointer-events: none;
}

.cursor-default {
  cursor: default !important;
}

.not-allowed {
  cursor: not-allowed !important;
}

.over-hidden {
  overflow: hidden;
}

.a-normalize:hover,
.a-normalize {
  color: var(--app-text-active);
  text-decoration: underline;
}
.a-normalize:active {
  opacity: 0.4;
}

.button-empty-style {
  background-color: transparent;
  border: transparent;
}

button:not([disabled]):focus,
button:not([disabled]):hover {
  opacity: 0.7;
}
button:not([disabled]):active {
  opacity: 1;
}
button[disabled] {
  cursor: not-allowed;
}

/* fade */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.28s;
}

.fade-enter,
.fade-leave-active {
  opacity: 0;
}

/* fade-transform */
.fade-transform-leave-active,
.fade-transform-enter-active {
  transition: all 0.5s;
}

.fade-transform-enter {
  opacity: 0;
  transform: translateX(-30px);
}

.fade-transform-leave-to {
  opacity: 0;
  transform: translateX(30px);
}
